﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Reflection;
namespace FSY.API.Utilities
{
    public class ObjectMapingInfo
    {
        private string _CacheByProperty;
        private int _CacheTimeOutMultiplier;
        private Dictionary<string, string> _ColumnName;
        private Dictionary<string, PropertyInfo> _Properties;
        private string _ObjectType;
        private string _TableName;
        private string _PrimaryKey;


        public ObjectMapingInfo()
        {
            _Properties = new Dictionary<string, PropertyInfo>();
            _ColumnName = new Dictionary<string, string>();
        }

        public string CacheByProperty
        {
            get { return _CacheByProperty; }
            set { _CacheByProperty = value; }
        }
        public int CacheTimeOutMultiplier
        {
            get { return _CacheTimeOutMultiplier; }
            set { _CacheTimeOutMultiplier = value; }
        }
        //Tên cột trong database dùng cho đối tượng
        public Dictionary<string, string> ColumnName
        {
            get { return _ColumnName; }
        }
        public Dictionary<string, PropertyInfo> Properties
        {
            get { return _Properties; }
        }
        //Kiểu của đối tượng
        public string ObjectType
        {
            get { return _ObjectType; }
            set { _ObjectType = value; }
        }
        //Ánh xạ khoá chính trong database
        public string PrimaryKey
        {
            get { return _PrimaryKey; }
            set { _PrimaryKey = value; }
        }
        //Lấy và đặt tên bảng Database dùng cho đối tượng
        public string TableName
        {
            get { return _TableName; }
            set { _TableName = value; }
        }
    }
}
